With the advent of the third generation (3G) wireless networks, it is expected that wireless data services will become very popular soon. It is further expected that the networks will initially provide best-effort data services such as wireless Internet access. As the systems continue to evolve, a variety of streaming data applications such as encoded music, compressed video and audio programming will also be supported.
It is well known that packet voice service has a very stringent delay requirement. This stringent delay requirement precludes the possibility of retransmission in case of packet error. In addition, voice service requires a very low packet error probability in order to maintain satisfactory sound quality. However, many popular data applications such as web browsing do not have the tight delay requirements associated with voice services. As a result, retransmission based on Automatic Repeat reQuest (ARQ) procedures is applicable for certain wireless data applications. Streaming applications, such as music delivery, lie somewhere between the tight delay requirements of voice service and the virtual lack of any delay requirements of web browsing.
Given the constraints in our future wireless packet networks such as Enhanced General Packet Radio Services (EGPRS) networks, various approaches are needed to improve the quality and capacity of a streaming application for music delivery. For this purpose, several techniques including ARQ, dynamic packet assignment, packet shuffling, SINR-based link adaptation, and random packet discarding have been utilized to improve the music quality and capacity.
Two techniques, a link-layer retransmission by use of an ARQ procedure and a packet shuffling procedure, have been proposed and used with various degrees of success to improve music quality. The link-layer retransmission technique takes advantage of the fact that the wireless network provides an option of using link level Automatic Repeat reQuest (ARQ) to create a reliable pipe for data transfer over a radio link.
The packet shuffling technique attempts to increase the effectiveness of any error concealment techniques by permitting the Advanced Audio Coder (AAC) frames to be shuffled or interleaved at the server or at an intermediate node. The assembled AAC frames are then re-ordered by the receiver and placed in a playout buffer. The purpose of this shuffling and un-shuffling is to effectively spread out bursts of AAC frame errors over a radio link. Note, however, that as long as frame numbers (or a similar index) is included in the AAC frame, it is not necessary for the mobile to even be aware of the shuffling or interleaving. This is very desirable, as it implies that this feature can be activated without changing or re-programming the mobile terminals.
The specific shuffling technique is based upon a convolutional interleaver. Two integer parameters, N and B, specify this interleaver. The values are N=6 and B=1. If T(k) denotes the position at which frame k is transmitted, then we have:T(k)=k+(k mod N)NB  (1)
The following table illustrates this interleaver (N=6, B=1)
TABLE IConvolutional Interleaving for N = 6, B = 1.K01234567T(k)0714212835613
Therefore, the order of transmission of the frames is 0, 7, 1, 14, 8, 2, 21, 15, 9, 3, 28, 16, 10, 4, 35, 29, 17, 11, 5, 42, 36, . . . . By way of this technique two consecutive frames are separated by at least NB frames after the shuffling. (This statement is not applicable for a few initial frames, i.e., when the interleaver begins operation. However, this has a minimal impact on performance for reasonable sized files.) Accordingly, this technique is very effective in shortening gaps in the received AAC frame sequence that result from a burst of over-the-air transmission errors. On the other hand, this shuffling introduces a delay in the transmission of some frames, and therefore comes at a price of increasing the effective playout delay (or equivalently, the buffer size). More importantly, the packet shuffling requires changes and inclusion of shuffling operations on the music service. The packet shuffling technique is an application layer method. To avoid the needed changes for other streaming services, it would be desirable to have a generic method of improved performance for streaming services as part of the network operations and control in a wireless network which provides acceptable music quality as well as capacity.